home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- #
- # Send a mail message to users on a distribution list. The message header is
- # altered mainly to allow error messages to be returned to the list maintainer.
- # This script should be setuid to one of sendmail's trusted users.
- #
- # Usage: put an entry into /usr/lib/aliases in one of the following forms:
- #
- # list-name: "|/usr/local/lib/distribute list-name user1 user2 ..."
- # list-name: "|/usr/local/lib/distribute list-name :include:pathname"
- #
- if [ $# -lt 2 ]
- then
- echo Usage: $0 list-name user1 user2 ...
- exit 64
- fi
-
- dlist=$1
- dusers=""
- shift
-
- # gather distribution list usernames
- for i in $*
- do
- case $i in
- :include:*)
- file=`expr $i : ':include:\(.*\)'`
- if [ -f $file ]
- then
- dusers="$dusers `cat $file`"
- else
- echo $i: No such file or directory
- exit 64
- fi
- ;;
- *) dusers="$dusers $i"
- ;;
- esac
- done
-
- # adjust headers of incoming message
- sed -e '1,/^$/s/^$/EOH\
- /' |
- sed -e '/^$/,$b' \
- -e '/^From /d' \
- -e '/^Via:/s//Original-Via:/' \
- -e '/^Sender:/s//Original-Sender:/' \
- -e '/^Acknowledge-To:/d' \
- -e '/^Return-Receipt-To:/d' \
- -e "/^EOH$/s//Sender: $dlist-request/" |
- /usr/lib/sendmail -f$dlist-request $dusers
-